Page({
  data: {
    locationText: "",
    weatherText: "",
    bannerImages: [
      // 轮播图图片路径数组
      { url: "https://z1.ax1x.com/2023/11/25/pi0unxI.jpg" },
      { url: "https://z1.ax1x.com/2023/11/25/pi0uMsP.jpg" },
      { url: "https://z1.ax1x.com/2023/11/25/pi0uKMt.jpg" },
    ],
    indicatorDots: true,
    autoplay: true,
    interval: 5000,
    duration: 1000,
    hotList: [
      {
        name: "身份证挂失补办预约",
        id: 1,
        img: "https://z1.ax1x.com/2023/12/13/pif3hjA.png",
      },
      {
        name: "暂住证办理预约",
        id: 2,
        img: "https://z1.ax1x.com/2023/12/13/pif35nI.png",
      },
      { name: "兵役证办理预约", id: 3, img: "../../images/army.png" },
      // 在这里添加更多的热点服务
    ],
    latitude: "",
    longitude: "",
    scale: 14,
  },

  onShow: function () {
    // 获取用户位置并获取天气数据
    this.getLocationAndWeather();
  },

  // 获取用户位置并获取天气数据
  getLocationAndWeather: function () {
    wx.getLocation({
      type: "wgs84", // 使用 GPS 坐标
      success: (res) => {
        const latitude = res.latitude; // 纬度
        const longitude = res.longitude; // 经度

        // 在这里可以调用获取天气信息的函数，并传入经纬度参数
        this.getWeatherInfo(longitude, latitude);

        // 调用逆地理编码函数
        this.reverseGeocode(longitude, latitude);

        // 更新地图中心点坐标
        this.setData({
          latitude: latitude,
          longitude: longitude,
        });
      },
      fail: (error) => {
        console.error("获取位置信息失败", error);
      },
    });
  },

  // 自定义函数：获取天气信息
  getWeatherInfo: function (longitude, latitude) {
    // 替换为您的和风天气 API 密钥和接口地址
    const apiKey = "7d2b93fbf4ff401a8f9c223be0664787";
    const apiUrl = `https://devapi.qweather.com/v7/weather/now?location=${longitude},${latitude}&key=${apiKey}`;

    wx.request({
      url: apiUrl,
      success: (res) => {
        const weatherData = res.data;
        // 处理天气数据，提取需要的信息
        const temperature = weatherData.now.temp; // 温度
        const weatherCondition = weatherData.now.text; // 天气状况

        // 在这里可以更新页面上的天气信息
        this.updateWeatherInfo(temperature, weatherCondition);
      },
      fail: (error) => {
        console.error("获取天气信息失败", error);
      },
    });
  },

  // 自定义函数：更新天气信息
  updateWeatherInfo: function (temperature, condition) {
    // 更新页面上的天气信息
    const weatherText = `天气状况：${condition}，温度：${temperature}°C`;

    // 将上述信息设置到页面的相应元素上
    this.setData({
      weatherText: weatherText,
    });
  },

  // 自定义函数：逆地理编码
  reverseGeocode: function (longitude, latitude) {
    // 替换为您的腾讯地图 API 密钥
    const apiKey = "N52BZ-BDI33-CMD34-RDB3U-GNGLJ-K4B2O";
    const apiUrl = `https://apis.map.qq.com/ws/geocoder/v1/?location=${latitude},${longitude}&key=${apiKey}&get_poi=1`;

    wx.request({
      url: apiUrl,
      success: (res) => {
        if (res.data && res.data.result) {
          const locationData = res.data.result;

          // 提取汉字位置信息
          const formattedAddress = locationData.address;
          // 更新页面上的位置信息
          this.setData({
            locationText: formattedAddress,
          });
        } else {
          console.error("逆地理编码失败，返回的数据结构不符合预期", res.data);
        }
      },
      fail: (error) => {
        console.error("逆地理编码失败", error);
      },
    });
  },
  // 传递页面参数
  navigateToSecondPage: function (e) {
    const name = e.currentTarget.dataset.name;
    wx.navigateTo({
      url: `../hot/serve/serve?name=${name}`,
    });
  },
  // ...
});
